home *** CD-ROM | disk | FTP | other *** search
-
- VMPEG V1.1
-
- DOS MPEG player
-
- by Stefan Eckart
-
- November 1993
-
-
- 1. Features
- ===========
-
- - full MPEG-1 video standard (ISO 11172-2): I,P,B frames of arbitrary size;
- no restriction to 160x120 or I-frame-only sequences
-
- - also plays system layer (ISO 11172-1) files
-
- - "high" speed: e.g. 16 frames/s on a 386DX/33 for a 160x120 I frame
- sequence (mjackson.mpg); about the speed of mpeg_play
- running on a Sparcstation1+
-
- - supports VGA and a variety of SVGAs
-
- - '386 or '486 processor required (i.e. no '286); based on the
- DOS extender GO32.EXE by DJ Delorie
-
- - dithering options: 4x4 ordered dither normal size
- 4x4 ordered dither double size
- grayscale
-
- - 8 bit and 24 bit (true color) display
-
- 2. Overview
- ===========
-
- VMPEG complements the programs CMPEG (MPEG encoder) and DMPEG (MPEG
- decoder and off-line player). It decodes MPEG encoded sequences directly
- to the screen at (hopefully) reasonable speed. It is about nine times
- faster than DMPEG, more than 60% faster than the latest Xing MPEG player
- (mjackson.mpg: XingIt V2.1: 10 frames/s, VMPEG: 16.4 frames/s) and, timed
- on a 386DX/33, about as fast as the Berkeley MPEG player (mpeg_play)
- on a Sparcstation1+ (about 1/3 to 1/2 the speed of a Sparc10).
-
- VMPEG is compiled with the GNU C compiler (gcc) into '386 code and runs
- under the DOS extender GO32 by DJ Delorie which is included in the archive
- file. VMPEG cannot be run from Windows or OS/2.
-
- The ninefold speed improvement over DMPEG was obtained by changing the
- C compiler, by using algorithms which take advantage of the 32 bit
- architecture of the '386 and by rewriting a few key routines in '386
- assembler.
-
- VMPEG also plays MPEG system layer files, which usually contain both video
- and audio streams. The audio stream is discarded. Most streams from CD-ROM
- are of this type. VMPEG automatically detects whether the file is a video
- compression layer or a system layer file. I have also included a small
- utility (MPGSPLIT) which extracts the video and audio streams from a
- system layer stream into seperate files (cf. MPGSPLIT.DOC).
-
- VMPEG is, however, not meant to replace DMPEG (at least not presently),
- since it is lacking several of the features of DMPEG (like decoding
- to a file, Floyd-Steinberg dithering etc.) and the quality of the decoded
- sequences is a bit lower (about 7 bit accuracy instead of 8 bit, which is
- however completely masked by the dithering noise and the 6 bit color
- register resolution of VGAs and SVGAs).
-
-
- 3. Installation
- ===============
-
- - You need at least a '386 with a VGA and 512 KB of RAM. 2 MB are strongly
- recommended. XT, AT, EGA and CGA are not supported. A '387 is not required
- nor does it increase speed. VMPEG doesn't use floating point.
-
- - You should leave about 2 MB of RAM (XMS) unused: if you have, say,
- a 4 MB system you shouldn't reserve more than 2 MB for a RAM drive.
- Otherwise the DOS extender would start swapping memory pages from and to
- disk. This would slow down the program, even if swapping to a RAM drive.
-
- - If you have installed EMM386 make sure you don't have specified the
- 'noems' option.
-
- - Create a subdirectory for installation:
-
- md \vmpeg
- cd \vmpeg
-
- - Unzip the archive into this subdirectory:
-
- pkunzip -d vmpeg11.zip
-
- - Edit VMPEG.BAT and VMPEG24.BAT; you probably have to change drive
- and/or path specifications and to select a suitable graphics driver
- (see next paragraph).
-
-
- 4. Graphics Drivers
- ===================
-
- The DRIVERS subdirectory contains a set of graphics drivers for different
- Super VGAs. Select the one that matches your graphics card by editing the
- files VMPEG.BAT (for 8 bit display) and VMPEG24.BAT (for 24 bit display).
- If none of the drivers work, you may try to use VESA.GRN and a TSR VESA BIOS
- extension. A collection of such drivers is available at
-
- ftp.rahul.net:/pub/bryanw/pc/vesadrv2.zip (anonymous ftp).
-
- and probably also on other ftp sites or BBSs.
-
- True color support is still limited. It works for my configuration
- (a Cirrus Logic GD5422 based card with VESA BIOS and VESA.GRN) and
- should work for most other 'well behaved' cards as well. If you get
- incorrect colors you have probably a card with R,G,B instead of B,G,R
- order. These are currently not supported.
-
- 5. Options
- ==========
-
- vmpeg [options] input.mpg
- vmpeg24 [options] input.mpg
-
- options:
-
- -l loop the sequence
-
- -x assume sequence to contain only I frames (including Xing files),
- this makes the program running faster
-
- -d0 (default) ordered 4x4 dither
- -d1 grayscale
- -d2 similar to -d0 but display magnified by a factor of 2
-
- True color mode is selected by using vmpeg24 instead of vmpeg. In this
- case the -d switch isn't effective.
-
- The program can be terminated by pressing an arbitrary key.
-
-
- 6. Remarks
- ==========
-
- This is still a preliminary release of the program. I expect it to be
- already relatively stable (most of the code is borrowed from DMPEG) but
- there might be problems with more or less exotic SVGAs. While the VGA
- mode should always work, a 640x480 display looks much better and is
- strongly recommended.
-
- I'm planning to add HiColor in the near future and of course I'm trying
- to improve speed even further. I'm also thinking about a UNIX version of
- VMPEG.
-
- Please report bugs to my email address:
-
- stefan@lis.e-technik.tu-muenchen.de
-
- or by mail to:
-
- Stefan Eckart
- Kagerstr. 4
- D-81669 Muenchen, Germany
-
- I'm also interested in obtaining performance figures measured on '486
- systems. Don't hesitate to mail me some...
-
-
- 7. Acknowledgements, Copyrights
- ===============================
-
- This program comes without any warranty. Your are using it at your own
- risk. VMPEG is copyrighted software (C) Stefan Eckart, 1993. You may
- use, copy and distribute this program without restrictions but only in
- unmodified form and without charging money for it.
-
- VMPEG is based on the work of many other people. Without them this program
- would not exist. Here are the relevant copyrights:
-
- GO32.EXE, DRIVERS\*.GRD:
-
- Copyright (C) DJ Delorie
- 24 Kirsten Ave
- Rochester NH 03867-2954
-
- These files are part of DJGPP which is available from
-
- host: omnigate.clarkson.edu
- login: ftp
- password: send your e-mail address
- directory: ~ftp/pub/msdos/djgpp
-
- DRIVERS\VESA.GRN:
-
- Copyright (C) 1991 DJ Delorie, 24 Kirsten Ave, Rochester NH 03867-2954
- Copyright (C) 1992 Csaba Biegl, 820 Stirrup Dr, Nashville, TN 37221
- Copyright (C) 1993 Grzegorz Mazur, gbm@ii.pw.edu.pl
-
- VMPEG:
-
- The library VMPEG is linked with is
-
- Copyright (c) Regents of the University of California.
-
- acknowledgement: ``This product includes software developed by the
- University of California, Berkeley and its contributors''
-
- * THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR IMPLIED
- * WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTIES OF
- * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
-
- The program is compiled with GNU GCC, the C compiler of the Free
- Software Foundation (FSF), Inc. 675 Mass Ave, Cambridge, MA 02139, USA.
- VMPEG does not contain code covered by the FSF General Public License.
-
-
- 8. Known Bugs
- =============
-
- The -d2 option is slower than it should be (yet to be rewritten
- in assembler).
-
- Interframe coded macroblocks theoretically can experience wrap-around
- (255<->0). Up to now I couldn't identify any MPEG sequence which exhibits
- this bug.
-
- Accuracy of the IDCT is at the lower margin and definitely does not
- meet the requirements of IEEE P1180. It is, however, a reasonable trade-off
- between speed and image quality.
-
-
- 9. References
- =============
-
- 1. Coding of moving pictures and associated audio for digital storage
- media up to about 1,5 Mbit/s, International Standard ISO/IEC
- IS 11172, 1993.
-
- 2. Frequently Asked Questions (FAQ) of the alt.binaries.pictures
- newsgroup: contains an introduction to MPEG.
-
- 3. Documentation of the PVRG MPEG software: a thorough overview
- covering many aspects of MPEG
-
-
- Appendix A: Related Software
- ============================
-
- This list is probably incomplete, but it's all I'm aware of. Of course
- there are programs for other systems as well (Mac, Amiga etc.).
-
- cmpeg an MPEG encoder for the PC (DOS, 640K, no '386 req.)
- for Targa, PBMPLUS and Alchemy RAW images
- Author: Stefan Eckart
- garbo.uwasa.fi:/pc/graphics/cmpeg10.zip
-
- dmpeg Offline MPEG decoder and player for the PC (DOS, 640K, VGA)
- Author: Stefan Eckart
- garbo.uwasa.fi:/pc/graphics/dmpeg11.zip
-
- mpeg_play MPEG Video Software Decoder (Version 2.0; Jan 27, 1993)
- Authors: Lawrence A. Rowe, Ketan Patel, and Brian Smith
- Computer Science Division-EECS, Univ. of Calif. at
- Berkeley
- toe.cs.berkeley.edu:/pub/multimedia/mpeg/mpeg-2.0.tar.Z
-
- mpegwin Online port of mpeg_play for MS-Windows
- by: Michael Simmons, msimmons@ecel.uwa.edu.au
- toe.cs.berkeley.edu:/pub/multimedia/mpeg/Ports/mpegw*
- (HiColor & TrueColor support, Shareware)
-
- mpeg.exe DOS MPEG player from Xing Technologies (XingIt V2.1)
- (high speed, but decodes only a small subset of the
- MPEG standard, audio (.WAV,.MP2) support, Windows)
- mpegview.zip (available from many ftp sites)
-
- MPEGv1.1/1.2alpha
- MPEG Software Encoder/Decoder
- Authors: Portable Video Research Group (PVRG)
- havefun.stanford.edu:/pub/mpeg/MPEGv*.tar.Z
-
- disp
- a display program for pictures and animations
- including MPEG (based on mpeg_play)
- contains additional drivers that can also be used
- with VMPEG.
- Author: Jih-Shin Ho, u7711501@bicmos.ee.nctu.edu.tw
- NCTUCCCA.edu.tw:/PC/graphics/disp
-
-
-
- APPENDIX B: MPEG files
- ======================
-
- Two good sources for MPEG files:
-
- toe.cs.berkeley.edu:/pub/multimedia/mpeg/movies
- havefun.stanford.edu:/pub/mpeg
-
- High quality MPEGs you simply can't afford to miss:
-
- tennis.mpg
- flowg.mpg
- bike.mpg
-
-
- --
- Stefan Eckart, stefan@lis.e-technik.tu-muenchen.de
- Kagerstr. 4, D-81669 Munich, Germany.
-